home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
NOVA - For the NeXT Workstation
/
NOVA - For the NeXT Workstation.iso
/
SourceCode
/
OOP_Course
/
Labs
/
Stack
/
Solution
/
stackMain.m
< prev
Wrap
Text File
|
1992-12-19
|
2KB
|
59 lines
// Main program for testing the Stack object
#import <stdio.h>
#import "Stack.h"
main ( argc, argv )
int argc;
char *argv[];
{
id stack;
printf ("\nCreate a Stack instance...\n");
stack = [[Stack alloc] init]; //allocate and initialize
printf("Print the stack...\n");
[stack printStack]; //print it out
printf ("Push 5.0, 10.0, then 15.0 ...\n"); //push 3 nos.
[stack push:5.0];
[stack push:10.0];
[stack push:15.0];
printf("Print the stack...\n");
[stack printStack];
printf("Top of stack is: %f\n", [stack top]); //show top of stack
printf("Pop four times...\n"); //illustrate LIFO
printf("Number popped: %f\n", [stack pop]);
printf("Number popped: %f\n", [stack pop]);
printf("Number popped: %f\n", [stack pop]);
printf("Number popped: %f\n", [stack pop]); //empty stack will return 0.0
printf("Print the stack...\n"); //show an empty stack
[stack printStack];
printf("Fill the stack again with 2.0, 4.0, 6.0, then 8.0...\n"); //refill
[stack push:2.0];
[stack push:4.0];
[stack push:6.0];
[stack push:8.0];
printf("Print the stack...\n"); //show 4 numbers
[stack printStack];
printf("Top of stack is: %f\n", [stack top]); //show top of stack
printf("Now empty the stack...\n"); //now empty it
[stack empty];
printf("Print the stack...\n"); //show an empty stack
[stack printStack];
printf("Now freeing the stack...\n"); //free it up
[stack free];
} // end of program